<?php
namespace pinduoduo\Request;

use pinduoduo\AbstractInterface\Request;

class PddDdkTopGoodsListQueryRequest extends Request
{
    /**
     * 已废弃
     * 多多客获取爆款排行商品接口
     * @var string
     */
    private $type = 'pdd.ddk.top.goods.list.query';

    /**
     * 自定义参数，为链接打上自定义标签；自定义参数最长限制64个字节；格式为： {"uid":"11111","sid":"22222","new":1} ，其中 uid 为用户唯一标识，可自行加密后传入，每个用户仅且对应一个标识，必填； sid 为上下文信息标识，例如sessionId等，非必填。new字段标识是否是新用户，如果为新用户，uid请传入用户唯一标识，例如小程序的openid、app的设备号等（可自行加密）。该json字符串中也可以加入其他自定义的key。
     * @var
     */
    private $customParameters;

    /**
     * 请求数量；默认值 ： 400
     * @var
     */
    private $limit;

    /**
     * 翻页时建议填写前页返回的list_id值
     * @var
     */
    private $listId;

    /**
     * 从多少位置开始请求；默认值 ： 0
     * @var
     */
    private $offset;

    /**
     * 推广位id
     * @var
     */
    private $pId;

    /**
     * 1-实时热销榜；2-实时收益榜
     * @var
     */
    private $sortType;

    public function setType($type)
    {
        $this->type = $type;
    }

    public function getType()
    {
        return $this->type;
    }

    public function setCustomParameters($customParameters)
    {
        $this->customParameters = $customParameters;
    }

    public function getCustomParameters()
    {
        return $this->customParameters;
    }

    public function setLimit($limit)
    {
        $this->limit = $limit;
    }

    public function getLimit()
    {
        return $this->limit;
    }

    public function setListId($listId)
    {
        $this->listId = $listId;
    }

    public function getListId()
    {
        return $this->listId;
    }

    public function setOffset($offset)
    {
        $this->offset = $offset;
    }

    public function getOffset()
    {
        return $this->offset;
    }

    public function setPId($pId)
    {
        $this->pId = $pId;
    }

    public function getPId()
    {
        return $this->pId;
    }

    public function setSortType($sortType)
    {
        $this->sortType = $sortType;
    }

    public function getSortType()
    {
        return $this->sortType;
    }

    public function getParams()
    {
        $params = [
            'type'              => $this->type,
            'custom_parameters' => $this->customParameters,
            'limit'             => $this->limit,
            'list_id'           => $this->listId,
            'offset'            => $this->offset,
            'p_id'              => $this->pId,
            'sort_type'         => $this->sortType,
        ];
        return array_filter($params);
    }
}
